package net.lateeye.search;

public interface SearchEngineResultSet
{
	/**
	 * 10Apr08/130s/I forgot how I want to use this method/properties.
	 * 
	 * @param arg0
	 * @param val
	 */
	public abstract void setProperty(String arg0, String val);

	/**
	 * This method is intended to be used only by AbsSearchEngineClient (or its
	 * subclasses).
	 * 
	 * @param r
	 */
	abstract void setResult(SearchResult r);

	/**
	 * Return size of the set.
	 * 
	 * @return
	 */
	public int size();

	/**
	 * Return an array of search result.
	 * 
	 * @return
	 */
	public SearchResult[] getResults();

	/**
	 * use this instead of getEstimatedNumberOfResults().
	 * 
	 * return value will be '-1' if
	 * 
	 * @author ISAO Saito <130s@1995.sfc.ne.jp>
	 * @since 2008/02/15
	 * @return
	 */
	public long getEstimatedNumberOfResultsLong()
			throws SearchEngineQueryException;

	public void setAvailableSize(long availableSize);
}
